Real Time. Real Time & Embedded Linux Solutions. Linux Kernel Device Drivers משך הקורס 40 שעות לימוד ותרגול בשיטת OJT
|
|
- Derek Chandler
- 5 years ago
- Views:
Transcription
1 Real Time Group LTD Real Time & Embedded Linux Solutions Linux Kernel Device Drivers משך הקורס 40 שעות לימוד ותרגול בשיטת OJT 1
2 Real Time Group is a multi-disciplinary dynamic and innovative Real-Time O.S. and Embedded Software Solutions Center, established in Providing Bare-Metal and Embedded Linux solutions, professional services and consulting, end-to-end flexible system infrastructure, outsourcing, integration and training services for Hardware, Software and RT-OS \ Embedded Systems. The company is divided into the following three Divisions: Real Time Group College Development Out-sourcing rt-ed.co.il rt-dev.com rt-hr.co.il Training Division: Professional Training Services for Hardware, Software, RT-OS and Embedded systems industries. We provide the knowledge and experience needed to enable professional engineers to Develop, Integrate and QA Hardware, Software and Networking Projects. In order to insure experience, all courses are practical hands-on-training. The latest Development, QA and Automation equipment which are adopted by the industry are used. All students are supplied with Development-Boards for home-work and course projects. 2
3 Course Overview: The Linux Kernel and Device Drivers targets engineers who wish to develop Linux based Kernel modules and device drivers. It's followed by dozens of class and home hands-on exercises and practices. The course starts by introducing the development tools \ environment, essentials of kernel development: kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with user applications, it goes through different device driver types starting from Character and Block devices and ending with PCIe drivers. Who should attend: HW C programmers who need to program on Linux operating systems. Embedded Linux Developers. Linux system programmers \ Engineers. Prerequisite: Knowledge of Linux administration (Linux Fundamentals). Knowledge in C programming language. 3
4 Linux Kernel and Device Drivers (40 AH) 1. Main characteristics (a) Getting the sources (Class Exercise-1) (b) Source Organization (c) Where is everything? 2. Linux Basic data structures (a) Doubly Linked Lists. (b) RB-trees structure (c) Radix tree 3. Linux Kernel overview (a) Why use Linux Kernel. (b) Supported Architectures. (c) Embedded Linux Distributions. (d) Linux File-System structure. (e) Kernel Version management. (f) What's new in 4.x. (g) System calls. 4. Scheduling in Linux (a) Process Scheduling in Linux (b) Processes, Threads and Tasks (c) Linux scheduling policies, (d) Linux Thread s life (e) Scheduler Classes (f) RT ver Normal policies. (g) The O(1 ) scheduler. (h) The CFS scheduler (i) Nice command effecting CFS 5. Developing Kernel Modules (Class Exercise-4) (a) What are Kernel Modules (b) Compiling a module (c) Kernel loggers (d) Passing arguments to a Modules 4
5 6. Character Device Drivers as LKMs (Class Exercise-5) (a) Simple Char Driver (b) Passing parameters to the module (c) Exporting symbols (d) File Operations 7. Kernel object model (a) Kobjects, (b) Ktypes, (c) Ksets, (d) Attributes, (e) Kernel Events 8. Sysfs Class Exercise-6) (a) Devices, (b) buses, (c) drivers, (d) subsystems 9. Udev (a) What is it used for (b) Uploading messages from kernel to user mode (c) Calling the right driver 10. Memory management (Class Exercise-7) (a) GFP Memory Allocation (Atomic \ Kernel) (b) Working with page frames (c) Contiguous virtual memory Allocation (d) Different allocators (SLAB \SLOB\SLUB) (e) Memory Caches (f) User space memory access 5
6 11. Linux Device Tree (a) Before the Device Tree (b) What is the Device Tree (c) Kernel with device tree (d) Device Tree source files and tools (e) Compiling a Device Tree Blob (f) Connecting the driver to the DT (g) reading properties from DTS (h) Atomic bit operations 12. I/O memory and ports (Class Exercise-9) (a) What are I/O Ports (b) What is Memory mapped I\O (c) Accessing I/O ports \ memory mapped I\O (d) Requesting I/O ports and I/O mapped memory (e) Caching issues (f) Managed APIs (g) Mapping I/O memory in virtual memory (h) Compiler Optimization and Hardware Reordering 13. Wait Queues (Class Exercise-10) (a) What are a waitqueues (b) Declaring a waitqueue (c) Waking up from a waitqueue (d) Exclusive sleeps 14. Interrupts and Exceptions (Class Exercise-11) (a) Behind the scene- do_irq() (b) low level handling (c) Interrupt disabling (d) Top & Bottom halves (e) Differed work (f) software interrupts (g) Tasklets (h) Work queues 6
7 15. Kernel Synchronization (a) How to avoid race conditions (b) Mutex (c) Spin Locks (d) Reader\Writer locks. (e) What to use when. (f) Deadlock situations. (g) Atomic variables. 16. Network Device Drivers (a) Allocation the network device (b) Registration the net_device structure (c) Probing the MAC & PHY chip (d) Working with Socket buffers (e) NIC Device initialization (f) Packet reception (g) Packet transmission (h) NAPI (i) Initializing device operation (j) Network queues (k) Implementing the Davicom MAC and PHY (100Mbps) 7
8 Appendix: 2. Platform Devices 3. Kernel Subsystems: (a) PCI Subsystem, Bus (Class Exercise-13) (b) Working with DMA Controller (c) USB Subsystem (Class Exercise-14) (d) Input Subsystem (Class Exercise-15) 4. Polled input subclass 5. Serial drivers 6. Kernel configuration (Class Exercise-2) 7. Compiling the kernel (Class Exercise-3) 8. Kernel Booting Sequence (What happens after the boot-loader) 9. Timing Measurements 10. RCUs הערות : פתיחת המסלול מותנה במספר נרשמים. המכללה מביאה ידעתם של המשתתפים שיתכנו שינוים בתוכן הקורסים ובמועדם. המכללה מתחייבת להודיע המשתתפים על כל שינוי. המכללה שומרת לעצמה את הזכות לשנות את תכני המסלול בהתאם לשיקול דעתה הבלעדית. 8
Real Time & Embedded Linux Solutions. Real-Time Embedded Concepts משך הקורס 40 שעות לימוד ותרגול
Real Time Group Real Time & Embedded Linux Solutions Real-Time Embedded Concepts משך הקורס 40 שעות לימוד ותרגול 1 Real Time Group is a multi-disciplinary dynamic and innovative Real-Time O.S. and Embedded
More informationReal Time & Embedded Linux Solutions. C++ and OOD for Embedded Systems. משך הקורס 40 שעות לימוד ותרגול בשיטת Hands-on-Training
Real Time Group Real Time & Embedded Linux Solutions C++ and OOD for Embedded Systems משך הקורס 40 שעות לימוד ותרגול בשיטת Hands-on-Training 1 Real Time Group is a multi-disciplinary dynamic and innovative
More informationTable of Contents. Preface... xi
,ldr3toc.fm.4587 Page v Thursday, January 20, 2005 9:30 AM Table of Contents Preface................................................................. xi 1. An Introduction to Device Drivers.....................................
More information- Knowledge of basic computer architecture and organization, ECE 445
ECE 446: Device Driver Development Fall 2014 Wednesdays 7:20-10 PM Office hours: Wednesdays 6:15-7:15 PM or by appointment, Adjunct office Engineering Building room 3707/3708 Last updated: 8/24/14 Instructor:
More informationLinux Driver and Embedded Developer
Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering
More informationLINUX DEVICE DRIVERS Weekend Workshop
Here to take you beyond LINUX DEVICE DRIVERS Weekend Workshop Linux Device Drivers Weekend workshop Objectives: To get you started with writing device drivers in Linux Provide real time hardware exposure
More informationLinux Kernel Architecture
Professional Linux Kernel Architecture Wolf gang Mauerer WILEY Wiley Publishing, Inc. Introduction xxvii Chapter 1: Introduction and Overview 1 Tasks of the Kernel v -- 2 Implementation Strategies 3 Elements
More informationKernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline
Course Duration: 5 days Pre-Requisites : Good C programming skills. Required knowledge Linux as a User Course Objective: To get Kernel and User Space of Linux and related programming Linux Advance Programming
More informationABOUT THE AUTHOR AND THE TECHNICAL REVIEWER. Who Is This Book For?...xxiii Prerequisites...xxiv Contents at a Glance...xxiv Welcome Aboard!...
CONTENTS IN DETAIL ABOUT THE AUTHOR AND THE TECHNICAL REVIEWER xvii FOREWORD by John Baldwin xix ACKNOWLEDGMENTS xxi INTRODUCTION xxiii Who Is This Book For?...xxiii Prerequisites...xxiv Contents at a
More informationCOURSE OUTLINE Survey of Operating Systems
Butler Community College Science, Technology, Engineering, and Math Division Skyler Lovelace New Fall 2014 Implemented Spring 2015 Textbook Update Fall 2016 COURSE OUTLINE Survey of Operating Systems Course
More informationSemaphore. Originally called P() and V() wait (S) { while S <= 0 ; // no-op S--; } signal (S) { S++; }
Semaphore Semaphore S integer variable Two standard operations modify S: wait() and signal() Originally called P() and V() Can only be accessed via two indivisible (atomic) operations wait (S) { while
More informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More informationI/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13
I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of
More informationModule 12: I/O Systems
Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c
More informationC09: Process Synchronization
CISC 7310X C09: Process Synchronization Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/29/2018 CUNY Brooklyn College 1 Outline Race condition and critical regions The bounded
More informationDr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year
Dr. Rafiq Zakaria Campus Maulana Azad College of Arts, Science & Commerce, Aurangabad Department of Computer Science Academic Year 2015-16 MCQs on Operating System Sem.-II 1.What is operating system? a)
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationChapter 6. Buffer cache. Code: Data structures
DRAFT as of October 16, 2009: Copyright 2009 Cox, Kaashoek, Morris Chapter 6 Buffer cache One of an operating system s central roles is to enable safe cooperation between processes sharing a computer.
More information19: I/O. Mark Handley. Direct Memory Access (DMA)
19: I/O Mark Handley Direct Memory Access (DMA) 1 Interrupts Revisited Connections between devices and interrupt controller actually use interrupt lines on the bus rather than dedicated wires. Interrupts
More informationCS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14
CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds
More informationOrganisasi Sistem Komputer
LOGO Organisasi Sistem Komputer OSK 5 Input Output 1 1 PT. Elektronika FT UNY Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats
More informationInput/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture
168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU
More informationAusgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors)
Outline Windows 2000 - The I/O Structure Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Components of I/O System Plug n Play Management Power Management I/O Data Structures File
More informationChapter 13: I/O Systems
COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives
More informationOperating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System
More informationDevice-Functionality Progression
Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port
More informationChapter 12: I/O Systems. I/O Hardware
Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port
More informationEMBEDDED TRAINING IN BANGALORE
EMBEDDED TRAINING IN BANGALORE JN GLOBAL SOLUTIONS #5/3 BEML LAYOUT, VARATHUR MAIN ROAD KUNDALAHALLI GATE, BANGALORE 560066 PH: +91-9513332301/2302 WWW.GLOBALTRAININGBANGALORE.COM Our Embedded Systems
More informationCS Lab 4: Device Drivers
CS 194-24 Palmer Dabbelt April 18, 2014 Contents 1 ETH194 References 2 2 ETH194+ 2 3 Tasks 3 3.1 ETH194 Linux Driver (20 pts)................................. 3 3.2 Test Harness (10 pts).......................................
More informationCSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 Overview Objective: Explore the structure of an operating system
More informationCS420: Operating Systems. Kernel I/O Subsystem
Kernel I/O Subsystem James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne A Kernel I/O Structure 2 Kernel
More informationContents. Foreword...xxi Preface...xxiii Acknowledgments...xxix About the Author...xxx
Contents Foreword...xxi Preface...xxiii Acknowledgments...xxix About the Author...xxx Chapter 1 Introduction...1 Evolution... 2 The GNU Copyleft... 3 Kernel.org... 4 Mailing Lists and Forums... 4 Linux
More informationQUESTION BANK UNIT I
QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?
More informationTolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich
XXX Tolerating Malicious Drivers in Linux Silas Boyd-Wickizer and Nickolai Zeldovich How could a device driver be malicious? Today's device drivers are highly privileged Write kernel memory, allocate memory,...
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationModule 11: I/O Systems
Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance
More informationModule 12: I/O Systems
Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common
More informationCS516 Programming Languages and Compilers II
CS516 Programming Languages and Compilers II Zheng Zhang Spring 2015 Mar 12 Parallelism and Shared Memory Hierarchy I Rutgers University Review: Classical Three-pass Compiler Front End IR Middle End IR
More informationEmbedded Linux System Internals
Timmins Training Consulting Sdn. Bhd. Embedded Linux System Internals VENUE: Penang, Malaysia DATE: April 1-5, 2019 TIME: 9 AM - 5 PM DURATION: 5 days Timmins Training Consulting Our Training Profile About
More informationHardware OS & OS- Application interface
CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts
More informationConcurrency, Thread. Dongkun Shin, SKKU
Concurrency, Thread 1 Thread Classic view a single point of execution within a program a single PC where instructions are being fetched from and executed), Multi-threaded program Has more than one point
More informationKernel Synchronization I. Changwoo Min
1 Kernel Synchronization I Changwoo Min 2 Summary of last lectures Tools: building, exploring, and debugging Linux kernel Core kernel infrastructure syscall, module, kernel data structures Process management
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating
More informationComputer Architecture CS 355 Busses & I/O System
Computer Architecture CS 355 Busses & I/O System Text: Computer Organization & Design, Patterson & Hennessy Chapter 6.5-6.6 Objectives: During this class the student shall learn to: Describe the two basic
More informationCIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:
CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,
More informationCSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware
CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write
More informationOpenMP and more Deadlock 2/16/18
OpenMP and more Deadlock 2/16/18 Administrivia HW due Tuesday Cache simulator (direct-mapped and FIFO) Steps to using threads for parallelism Move code for thread into a function Create a struct to hold
More informationIntroduction. Yolanda Becerra Fontal Juan José Costa Prats
Introduction Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2015-2016 QT Content Previous concepts Architecture
More informationApplication Programming
Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris
More informationInput / Output. Kevin Webb Swarthmore College April 12, 2018
Input / Output Kevin Webb Swarthmore College April 12, 2018 xkcd #927 Fortunately, the charging one has been solved now that we've all standardized on mini-usb. Or is it micro-usb? Today s Goals Characterize
More information2 nd Half. Memory management Disk management Network and Security Virtual machine
Final Review 1 2 nd Half Memory management Disk management Network and Security Virtual machine 2 Abstraction Virtual Memory (VM) 4GB (32bit) linear address space for each process Reality 1GB of actual
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013! Chapter 13: I/O Systems I/O Hardware" Application I/O Interface" Kernel I/O Subsystem" Transforming I/O Requests to Hardware Operations" STREAMS"
More informationPCI Express System Interconnect Software Architecture for x86-based Systems. Root Complex. Processor. UP Multi-port PCIe switch DP DP DP
PCI Express System Interconnect Software Architecture for x86-based Systems Application Note AN-571 Introduction By Kwok Kong and Alex Chang A multi-peer system using a standard-based PCI Express multi-port
More informationLINUX INTERNALS & NETWORKING Weekend Workshop
Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view
More informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.
More informationIntegrated Approach. Operating Systems COMPUTER SYSTEMS. LEAHY, Jr. Georgia Institute of Technology. Umakishore RAMACHANDRAN. William D.
COMPUTER SYSTEMS An and Integrated Approach f Architecture Operating Systems Umakishore RAMACHANDRAN Georgia Institute of Technology William D. LEAHY, Jr. Georgia Institute of Technology PEARSON Boston
More informationCPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.
CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.
More informationDemystifying Network Cards
Demystifying Network Cards Paul Emmerich December 27, 2017 Chair of Network Architectures and Services About me PhD student at Researching performance of software packet processing systems Mostly working
More informationCSE 451: Operating Systems Winter I/O System. Gary Kimura
CSE 451: Operating Systems Winter 2012 I/O System Gary Kimura What s Ahead Principles of I/O Hardware Structuring of I/O Software Layers of an I/O System Operation of an I/O System 2 Hardware Environment
More informationMidterm Exam. October 20th, Thursday NSC
CSE 421/521 - Operating Systems Fall 2011 Lecture - XIV Midterm Review Tevfik Koşar University at Buffalo October 18 th, 2011 1 Midterm Exam October 20th, Thursday 9:30am-10:50am @215 NSC Chapters included
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationChapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationIntroduction to Multithreading and Multiprocessing in the FreeBSD SMPng Network Stack
Introduction to Multithreading and Multiprocessing in the FreeBSD SMPng Network Stack EuroBSDCon 2005 26 November 2005 Robert Watson FreeBSD Core Team rwatson@freebsd.org Computer Laboratory University
More informationTile Processor (TILEPro64)
Tile Processor Case Study of Contemporary Multicore Fall 2010 Agarwal 6.173 1 Tile Processor (TILEPro64) Performance # of cores On-chip cache (MB) Cache coherency Operations (16/32-bit BOPS) On chip bandwidth
More informationOperating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 17. Sockets Paul Krzyzanowski Rutgers University Spring 2015 1 Sockets Dominant API for transport layer connectivity Created at UC Berkeley for 4.2BSD Unix (1983) Design goals Communication
More informationUtilizing Linux Kernel Components in K42 K42 Team modified October 2001
K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the
More informationOperating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015
Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:
More informationKernel Module Programming
Kernel Module Programming Alessandro Barenghi Dipartimento di Elettronica e Informazione Politecnico di Milano barenghi - at - elet.polimi.it June 7, 2012 Recap By now, you should be familiar with... Programming
More informationUniversal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT, Desktop and Server
KMDF - Version: 1.2 11 January 2018 Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT, Desktop and Server Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT,
More informationTimers 1 / 46. Jiffies. Potent and Evil Magic
Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50
More informationEmbedded Linux kernel and driver development training 5-day session
Embedded Linux kernel and driver development training 5-day session Title Embedded Linux kernel and driver development training Overview Understanding the Linux kernel Developing Linux device drivers Linux
More informationNative POSIX Thread Library (NPTL) CSE 506 Don Porter
Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel
More informationOperating Systems (1DT020 & 1TT802)
Uppsala University Department of Information Technology Name: Perso. no: Operating Systems (1DT020 & 1TT802) 2009-05-27 This is a closed book exam. Calculators are not allowed. Answers should be written
More informationPCI Express System Interconnect Software Architecture for PowerQUICC TM III-based Systems
PCI Express System Interconnect Software Architecture for PowerQUICC TM III-based Systems Application Note AN-573 By Craig Hackney Introduction A multi-peer system using a standard-based PCI Express multi-port
More informationRecap: Thread. What is it? What does it need (thread private)? What for? How to implement? Independent flow of control. Stack
What is it? Recap: Thread Independent flow of control What does it need (thread private)? Stack What for? Lightweight programming construct for concurrent activities How to implement? Kernel thread vs.
More informationNetwork device drivers in Linux
Network device drivers in Linux Aapo Kalliola Aalto University School of Science Otakaari 1 Espoo, Finland aapo.kalliola@aalto.fi ABSTRACT In this paper we analyze the interfaces, functionality and implementation
More informationCS162 Operating Systems and Systems Programming Lecture 16. I/O Systems. Page 1
CS162 Operating Systems and Systems Programming Lecture 16 I/O Systems March 31, 2008 Prof. Anthony D. Joseph http://inst.eecs.berkeley.edu/~cs162 Review: Hierarchy of a Modern Computer System Take advantage
More informationSynchronization. Disclaimer: some slides are adopted from the book authors slides with permission 1
Synchronization Disclaimer: some slides are adopted from the book authors slides with permission 1 What is it? Recap: Thread Independent flow of control What does it need (thread private)? Stack What for?
More informationLast class: Today: Course administration OS definition, some history. Background on Computer Architecture
1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O
More informationFall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)
Threading Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Review Multiple threads of execution in one address space Why? Exploits multiple processors Separate execution stream
More informationSYNCHRONIZATION M O D E R N O P E R A T I N G S Y S T E M S R E A D 2. 3 E X C E P T A N D S P R I N G 2018
SYNCHRONIZATION M O D E R N O P E R A T I N G S Y S T E M S R E A D 2. 3 E X C E P T 2. 3. 8 A N D 2. 3. 1 0 S P R I N G 2018 INTER-PROCESS COMMUNICATION 1. How a process pass information to another process
More informationCompTIA IT Fundamentals
CompTIA IT Fundamentals Course CT-05B - Four Days - Instructor-led - Hands-on Introduction Gain an understanding of the core components that make up the information technology (IT) landscape while preparing
More informationOperating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 6 Concurrency: Deadlock and Starvation Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Deadlock
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance I/O Hardware Incredible variety of I/O devices Common
More informationAnne Bracy CS 3410 Computer Science Cornell University
Anne Bracy CS 3410 Computer Science Cornell University The slides were originally created by Deniz ALTINBUKEN. P&H Chapter 4.9, pages 445 452, appendix A.7 Manages all of the software and hardware on the
More informationOperating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017
Operating Systems Lecture 4 - Concurrency and Synchronization Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Mutual exclusion Hardware solutions Semaphores IPC: Message passing
More informationOutline. 1) Introduction to Linux Kernel 2) How system calls work 3) Kernel-space programming 4) Networking in kernel 2/34
Titolo presentazione Piattaforme Software per la Rete sottotitolo Programmazione Milano, in kernel-space XX mese 20XX A.A. 2016/17 Federico Reghenzani Outline 1) Introduction to Linux Kernel 2) How system
More informationSynchronization COMPSCI 386
Synchronization COMPSCI 386 Obvious? // push an item onto the stack while (top == SIZE) ; stack[top++] = item; // pop an item off the stack while (top == 0) ; item = stack[top--]; PRODUCER CONSUMER Suppose
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationThe control of I/O devices is a major concern for OS designers
Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices
More informationLecture 9: Midterm Review
Project 1 Due at Midnight Lecture 9: Midterm Review CSE 120: Principles of Operating Systems Alex C. Snoeren Midterm Everything we ve covered is fair game Readings, lectures, homework, and Nachos Yes,
More informationPerformance Enhancement for IPsec Processing on Multi-Core Systems
Performance Enhancement for IPsec Processing on Multi-Core Systems Sandeep Malik Freescale Semiconductor India Pvt. Ltd IDC Noida, India Ravi Malhotra Freescale Semiconductor India Pvt. Ltd IDC Noida,
More informationVEOS high level design. Revision 2.1 NEC
high level design Revision 2.1 NEC Table of contents About this document What is Components Process management Memory management System call Signal User mode DMA and communication register Feature list
More informationDeveloping deterministic networking technology for railway applications using TTEthernet software-based end systems
Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements
More informationContents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures
Contents PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK
CS 1253-Operating Systems 1 KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Year /Sem Sub.Code/Sub.Name : II / IV : CS1253 / OPERATING SYSTEMS UNIT 1 PROCESSES AND THREADS
More informationToday: I/O Systems. Architecture of I/O Systems
Today: I/O Systems How does I/O hardware influence the OS? What I/O services does the OS provide? How does the OS implement those services? How can the OS improve the performance of I/O? Lecture 20, page
More informationCSE398: Network Systems Design
CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline
More informationPerformance evaluation of Linux CAN-related system calls
Performance evaluation of Linux CAN-related system calls Michal Sojka, Pavel Píša, Zdeněk Hanzálek Czech Technical University in Prague, Faculty of Electrical Engineering Email: {sojkam1,pisa,hanzalek}@fel.cvut.cz
More informationSubject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)
A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware
More information